package cn.shujuhai.meeting.domain;

import cn.shujuhai.common.domain.BaseDomain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * 会议室管理表，用于存储会议室的基本信息和状态
 *
 * @TableName meeting_rooms
 */
@EqualsAndHashCode(callSuper = true)
@TableName(value = "meeting_rooms")
@Data
public class MeetingRooms extends BaseDomain {
    /**
     * 会议室编号，主键自增
     */
    @TableId(value = "room_id", type = IdType.AUTO)
    private Long roomId;

    /**
     * 会议室名称，长度不超过100个字符，不能为空
     */
    @TableField(value = "room_name")
    private String roomName;

    /**
     * 会议室描述，用于说明会议室的设施、位置等信息
     */
    @TableField(value = "description")
    private String description;

    /**
     * 会议室容纳人数，整数类型，不能为空
     */
    @TableField(value = "capacity")
    private Integer capacity;
    /**
     * 会议室最大预约天数
     */
    @TableField(value = "reservation_max")
    private Integer reservationMax;
    /**
     * 会议室联系人名称
     */
    @TableField(value = "contact_name")
    private String contactName;
    /**
     * 会议室联系人电话
     */
    @TableField(value = "contact_phone")
    private String contactPhone;

    /**
     * 会议室图片
     */
    @TableField(value = "image")
    private String image;

    /**
     * 会议室状态，
     */
    @TableField(value = "status")
    private Object status;
    /**
     * 会议室关闭时间范围
     */
    @TableField(value = "close_time")
    private String closeTime;
    @TableField(exist = false)
    private Long departmentId;
    @TableField(exist = false)
    private String departmentName;
    @TableField(exist = false)
    private List<String> equipmentNameList;

}